这是我的第一篇博客,决定先翻译一篇文章练练手,正好接下来要做音频生成的项目,就决定翻译一下DeepMind一篇关于WaveNet的博客。
这是原文的地址

这篇文章介绍了WaveNet,一种原始音频波形的深度生成模型。我们展示了WaveNets可生成模仿任何人类声音的语音,它听起来比现存的最先进的语音合成(Text-to-Speech)系统更自然,这使得机器与人类表现的差距缩小了50%以上。
我们也证明了同样的网络架构可被用来合成其他音频信号,如音乐,我们展示了一些在自动生成钢琴片段上的出色样本。

会说话的机器

使得人能与机器交流是一个长久以来的关于人机交互的梦想。由于深度神经网络的使用,机器在理解自然语言上的能力在过去几年有了革命性的进步(例如,谷歌语音搜索)。然而,用计算机产生语音——通常被称为语音合成(speech synthesis)或文本到语音(TTS)——仍然主要基于所谓的连接式TTS(concatenative TTS),它要求记录单一的录制者大量的短语音片段来形成一个巨大的数据库,然后重新组合这些片段以形成完整的话语。这使得在没有重新录制整个新的数据库的情况下,修改声音变得十分困难(比如转换成不同的说话者,或者改变他们声音的重点或情感)。
这导致了对参数式TTS(parametric TTS)的迫切需求,其中生成数据所需要的所有信息都保存在模型的参数中,并且语音的内容和特征可以通过模型的输入来控制。但目前为止,参数式TTS比连接式TTS听起来更不自然。现有的参数式模型往往将输出通过名为声码器(vocoders)的信号处理算法来生成音频信号。
WaveNet改变了这种范例,它直接对音频信号的原始波形进行建模,一次一个样本。使用原始波形意味着,除了生成听起来更自然的声音外,WaveNet可以模拟任何音频,包括音乐。

WaveNet


研究人员常常避免对原始音频建模,因为它的速度非常快:通常每秒有16000个或更多样本,且在许多时间尺度上具有重要结构。构建一个完全自回归(autoregressive)模型显然是一项具有挑战性的任务,其中每个样本的预测都受到先前所有样本的影响(从统计学上来说,每个预测的分布都以先前所有观察为条件)。
然而,我们在今年(2016年)早些时候发布的PixelRNN和PixelCNN模型显示,不仅可以通过一次生成一个像素,而且可以通过一次生成一个颜色通道,来生成复杂的自然图像,其中每幅图像需要上千次这样的预测。这促使我们将二维的PixelNets改编为一维的WaveNet。

上面的动画显示了WaveNet是如何构建的。它是一个完全的卷积神经网络,其中卷积层具有多种扩张因子,这使得其感知场(receptive field)随着深度呈现指数增长,以此覆盖上千的步长。
训练时,输入序列是从记录人类声音的真实波形。训练之后,我们可以对网络采样生成合成声音。在采样的每个步骤中,我们从网络计算出的概率分布中抽取数值。将这一数值反馈到输入中,就可产生下一步的新的预测。像这样一次一步的建立样本的计算成本很高,但我们发现这对于生成复杂且逼真的音频十分重要。

提升目前为止的最好表现

我们使用Google的部分TTS数据来训练WaveNet,以此来评估模型的表现。下图显示了WaveNets的性能,分数从1到5,并与Google目前最好的TTS系统(参数式和连接式的)和使用Mean Opinion Scores(MOS)的人类语音相比较。MOS是用于主观声音质量测试的标准,获取自人类受测试者的盲评(来自100个测试句子的500多个评级)。正如我们看到的,WaveNets使得美式英语和普通话的最好表现与人类表现间的差距缩小了50%以上。
对于中文和英文,Google目前的TTS系统被认为是全球最先进的系统之一,因此使用单一模型就能对二者进行改进是一项巨大的成就。

下面是一些生成样本,感兴趣的可以移步原博客。

知道自己在说什么

为了使用WaveNet将文本变成语音,我们必须告诉它文本是什么。我们将文本转换成一系列语言和语音特征(包含有关当前音素、音节、单词等的信息),并将其输入WaveNet来实现文本的转换。这意味着网络的预测不仅取决于先前的音频样本,还取决于我们希望它说出的文本。
如果我们在没有文本序列的情况下训练网络,它仍会生成语音,但是现在它必须决定要说的内容。正如你可以从以下的样本中听到的那样,这会产生一种咿呀声,其中真实的单词中散布着类似于单词的声音。(感兴趣的可以移步原博客听一下样本)
我们注意到WaveNet有时也会产生非语音,如呼吸和嘴巴动作,这反映了原始音频模型的更大的灵活性。
正如你可以从这些样本中听到的,单个WaveNet能够学习许多不同声音的特征,包含男性和女性。为了确保在给定语句的情况下,模型知道使用哪种语音,我们根据说话者的身份调整网络。有趣的是,我们发现使用多个说话者训练比只使用单个说话者训练对于系统的语音模拟效果更好,这表现了一种迁移学习的形式。
通过更改说话者的身份,我们可以让WaveNet使用不同声音说同样的事情:
下面是一些生成样本,感兴趣的可以移步原博客。
同样的,我们可以为模型提供额外的输入,例如情感和口音,使得语音更加多样化和有趣。

生成音乐

由于WaveNets可以用来模拟任何音频信号,我们认为尝试生成音乐也很有趣。与TTS实验不同,我们没有对输入序列进行调节,告诉它要播放什么(例如乐谱);相反,我们只是让它生成任何它想生成的。当我们在古典音乐的数据集上进行训练后,它生成了如下的美妙的样本:
下面是一些生成样本,感兴趣的可以移步原博客。
WaveNets为TTS、音乐生成和音频建模提供了很多可能性。对于16kHz的音频,使用深度神经网络直接生成每一时间步长的时间步长是起作用的,这确实令人惊讶,更不用说它优于最先进的TTS系统。我们很高兴看到我们接下来可以做些什么。
关于更多的细节,请看我们(作者)的论文



翻译  

翻译 WaveNet Deep Learning Machine Learning

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!